/**
 * 封装mitt全局事件总线
 */
import mitt, { EventType, Handler } from 'mitt';

const emitter = mitt();

// 监听单个事件
export function onEmitter(eventName: EventType, cb: Handler) {
	emitter.on(eventName, cb);
}

// 派发单个事件
export function setEmitter(eventName: EventType, ...args: any) {
	emitter.emit(eventName, args);
}

// 派发单个事件
export function setEmitterAny(eventName: EventType, params: any) {
	emitter.emit(eventName, params);
}

// 取消监听单个事件
export function offEmitter(eventName: EventType) {
	emitter.off(eventName);
}

// 清除所有事件
export function clearAllEmitter() {
	emitter.all.clear();
}
